SQlite源码分析

Struct PCache与Struct PCach1

                                                                        图 3.1 Struct PCache源码截图                                                                         图 3.2 Struct PCache1源码截图

       从两者的数据结构可以看出,他们实现了不同的功能: PCache主要是对脏页面链表进行管理。并使用了LRU算法(近期最少使用算法),而PCache1是页面缓冲区的具体实现。这个缓冲区中有多个页,这些页存储在Hash表apHash中。apHash是一链接法解决地址冲突的Hash表,而apHash是PgHdr1结构中采用的指针数组,且有nHash个槽位,每个槽位上是一个页面链表。